package cn.io1;

import cn.hutool.core.io.FileUtil;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * 介绍：
 * Commons是国人开发的开源工具包，里面有很多帮助我们提高开发效率的API
 * 比如：
 * DateUtil 日期时间工具类
 * TimeInterval 计时器工具类
 * StrUtil 字符串工具类
 * HexUtil 16进制工具类
 * HashUtil Hash算法类
 * ObjectUtil 对象工具类
 * ReflectUtil 反射工具类
 * TypeUtil 泛型类型工具类
 * PageUtil 分页工具类
 * NumberUtil 数字工具类
 * 使用方式：
 * 1，新建lib文件夹
 * 2，把第三方jar包粘贴到文件夹中
 * 3，右键点击add as a library
 */
public class Test15 {
    public static void main(String[] args) {
        /*
        FileUtil类:
            file：根据参数创建一个file对象
            touch：根据参数创建文件

            writeLines：把集合中的数据写出到文件中，覆盖模式。
            appendLines：把集合中的数据写出到文件中，续写模式。
            readLines：指定字符编码，把文件中的数据，读到集合中。
            readUtf8Lines：按照UTF-8的形式，把文件中的数据，读到集合中

            copy：拷贝文件或者文件夹
        */
        File file1 = FileUtil.file("/home/ke666/my_codes/java_codes/juc-2024/", "move", "tozip", "aa.txt");
        System.out.println(file1);// /home/ke666/my_codes/java_codes/juc-2024/move/tozip/aa.txt

        File touch = FileUtil.touch(file1);
        System.out.println(touch);

        List<String> list = new ArrayList<>();
        list.add("aaa1");
        list.add("aaa2");
        list.add("aaa3");
        System.out.println(file1.getName());
        File file2 = FileUtil.writeLines(list, file1, "UTF-8");
        System.out.println(file2);

        List<String> list2 = new ArrayList<>();
        list2.add("bbb1");
        list2.add("bbb2");
        list2.add("bbb3");
        File fileBB = FileUtil.file(file1.getParentFile(), "aa.txt");
        File file3 = FileUtil.appendLines(list2, fileBB, "UTF-8");
        System.out.println(file3);
        List<String> list3 = FileUtil.readLines(fileBB, "UTF-8");
        System.out.println(list3);
    }
}
